package com.springboot_shopping.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot_shopping.entity.Order;

import java.util.List;

public interface OrderService extends IService<Order> {

    // 创建订单
    boolean createOrder(Order order, List<Integer> cartItemIds, Integer addressId);

    List<Order> findOrdersWithItemsAndProducts(Integer userId);

    // 删除订单
    boolean deleteOrder(Integer orderId);

    // 根据用户ID查询订单列表
    List<Order> findByUserId(Integer userId);

    // 根据订单号模糊查询
    List<Order> findByOrderNoLike(String orderNo, Integer userId);

    // 搜索订单
    List<Order> searchOrders(String keyword, Integer userId);

    // 分页查询订单
    IPage<Order> findByPage(Page<Order> page, Wrapper<Order> wrapper);
}